package com.ofhb.entities;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

@SuppressWarnings("serial")
@Entity
@Table(name="hall")
public class HallEntity implements Serializable {
	/*
        id serial NOT NULL,
        full_name character(256) NOT NULL,
        short_name character(32),
        address_line_1 character(256) NOT NULL,
        address_line_2 character(256),
        city character(64) NOT NULL,
        pin_code numeric(6,0) NOT NULL,
        landmark character(128),
        primary_email character(256) NOT NULL,
        contact_number_1 numeric(20,0) NOT NULL,
        contact_number_2 numeric(20,0),
        contact_number_3 numeric(20,0),
        
        fac_ac_hall boolean NOT NULL DEFAULT false,
        fac_generator boolean NOT NULL DEFAULT false,
        
        hall_type character(64) NOT NULL,
        user_id integer NOT NULL,
        
        capacity_main_hall integer NOT NULL DEFAULT 0,
        capacity_dining_hall integer NOT NULL DEFAULT 0,
        
        general_rooms_ac integer NOT NULL DEFAULT 0,
        general_rooms_nonac integer NOT NULL DEFAULT 0,
        bride_rooms_ac integer NOT NULL DEFAULT 0,
        bride_rooms_nonac integer NOT NULL DEFAULT 0,
        groom_rooms_ac integer NOT NULL DEFAULT 0,
        groom_rooms_nonac integer NOT NULL DEFAULT 0,
        parking_inside_two_wheeler integer NOT NULL DEFAULT 0,
        parking_outside_two_wheeler integer NOT NULL DEFAULT 0,
        parking_inside_four_wheeler integer NOT NULL DEFAULT 0,
        parking_outside_four_wheeler integer NOT NULL DEFAULT 0,
   		description text,
   		
   		active boolean NOT NULL DEFAULT true,
   */
	@Id
	@Column(name = "id")
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private Long id;
	
	@Column(name = "full_name")
	private String fullName;
	
	@Column(name = "short_name")
	private String shortName;
	
	@Column(name = "address_line_1")
	private String addressLine1;
	
	@Column(name = "address_line_2")
	private String addressLine2;
	
	@ManyToOne
	@JoinColumn(name="city_id", referencedColumnName ="id")
	private CityEntity cityEntity;
	
	@Column(name = "pin_code")
	private Long pinCode;
	
	@Column(name = "landmark")
	private String landmark;
	
	@Column(name = "contact_number_1")
	private Long contactNumber1;

	@Column(name = "contact_number_2")
	private Long contactNumber2;

	@Column(name = "contact_number_3")
	private Long contactNumber3;

	@Column(name = "primary_email")
	private String primaryEmail;
	
	@Column(name = "fac_ac_hall")
	private Boolean facAcHall;

	@Column(name = "fac_generator")
	private Boolean facGenerator;

	@Column(name = "hall_type")
	private String hallType;

	@ManyToOne
	@JoinColumn(name="user_id", referencedColumnName ="id")
	private UserEntity userEntity;
	
	@Column(name = "capacity_main_hall")
	private Integer capacityMainHall;

	@Column(name = "capacity_dining_hall")
	private Integer capacityDiningHall;
	
	@Column(name = "general_rooms_ac")
	private Integer generalRoomsAc;
	
	@Column(name = "general_rooms_nonac")
	private Integer generalRoomsNonac;
	
	@Column(name = "bride_rooms_ac")
	private Integer brideRoomsAc;
	
	@Column(name = "bride_rooms_nonac")
	private Integer brideRoomsNonac;
	
	@Column(name = "groom_rooms_ac")
	private Integer groomRoomsAc;
	
	@Column(name = "groom_rooms_nonac")
	private Integer groomRoomsNonac;
	
	@Column(name = "parking_inside_two_wheeler")
	private Integer parkingInsideTwoWheeler;
	
	@Column(name = "parking_outside_two_wheeler")
	private Integer parkingOutsideTwoWheeler;
	
	@Column(name = "parking_inside_four_wheeler")
	private Integer parkingInsideFourWheeler;
	
	@Column(name = "parking_outside_four_wheeler")
	private Integer parkingOutsideFourWheeler;
	
	@Column(name = "description")
	private String description;
	
	@Column(name = "active")
	private Boolean active;

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getFullName() {
		return fullName;
	}

	public void setFullName(String fullName) {
		this.fullName = fullName;
	}

	public String getShortName() {
		return shortName;
	}

	public void setShortName(String shortName) {
		this.shortName = shortName;
	}

	public String getAddressLine1() {
		return addressLine1;
	}

	public void setAddressLine1(String addressLine1) {
		this.addressLine1 = addressLine1;
	}

	public String getAddressLine2() {
		return addressLine2;
	}

	public void setAddressLine2(String addressLine2) {
		this.addressLine2 = addressLine2;
	}

	public Long getPinCode() {
		return pinCode;
	}

	public void setPinCode(Long pinCode) {
		this.pinCode = pinCode;
	}

	public String getLandmark() {
		return landmark;
	}

	public void setLandmark(String landmark) {
		this.landmark = landmark;
	}

	public Long getContactNumber1() {
		return contactNumber1;
	}

	public void setContactNumber1(Long contactNumber1) {
		this.contactNumber1 = contactNumber1;
	}

	public Long getContactNumber2() {
		return contactNumber2;
	}

	public void setContactNumber2(Long contactNumber2) {
		this.contactNumber2 = contactNumber2;
	}

	public Long getContactNumber3() {
		return contactNumber3;
	}

	public void setContactNumber3(Long contactNumber3) {
		this.contactNumber3 = contactNumber3;
	}

	public Boolean getFacAcHall() {
		return facAcHall;
	}

	public void setFacAcHall(Boolean facAcHall) {
		this.facAcHall = facAcHall;
	}

	public Boolean getFacGenerator() {
		return facGenerator;
	}

	public void setFacGenerator(Boolean facGenerator) {
		this.facGenerator = facGenerator;
	}

	public String getHallType() {
		return hallType;
	}

	public void setHallType(String hallType) {
		this.hallType = hallType;
	}

	public UserEntity getUserEntity() {
		return userEntity;
	}

	public void setUserEntity(UserEntity userEntity) {
		this.userEntity = userEntity;
	}

	public Integer getCapacityMainHall() {
		return capacityMainHall;
	}

	public void setCapacityMainHall(Integer capacityMainHall) {
		this.capacityMainHall = capacityMainHall;
	}

	public Integer getCapacityDiningHall() {
		return capacityDiningHall;
	}

	public void setCapacityDiningHall(Integer capacityDiningHall) {
		this.capacityDiningHall = capacityDiningHall;
	}

	public Integer getGeneralRoomsAc() {
		return generalRoomsAc;
	}

	public void setGeneralRoomsAc(Integer generalRoomsAc) {
		this.generalRoomsAc = generalRoomsAc;
	}

	public Integer getGeneralRoomsNonac() {
		return generalRoomsNonac;
	}

	public void setGeneralRoomsNonac(Integer generalRoomsNonac) {
		this.generalRoomsNonac = generalRoomsNonac;
	}

	public Integer getBrideRoomsAc() {
		return brideRoomsAc;
	}

	public void setBrideRoomsAc(Integer brideRoomsAc) {
		this.brideRoomsAc = brideRoomsAc;
	}

	public Integer getBrideRoomsNonac() {
		return brideRoomsNonac;
	}

	public void setBrideRoomsNonac(Integer brideRoomsNonac) {
		this.brideRoomsNonac = brideRoomsNonac;
	}

	public Integer getGroomRoomsAc() {
		return groomRoomsAc;
	}

	public void setGroomRoomsAc(Integer groomRoomsAc) {
		this.groomRoomsAc = groomRoomsAc;
	}

	public Integer getGroomRoomsNonac() {
		return groomRoomsNonac;
	}

	public void setGroomRoomsNonac(Integer groomRoomsNonac) {
		this.groomRoomsNonac = groomRoomsNonac;
	}

	public Integer getParkingInsideTwoWheeler() {
		return parkingInsideTwoWheeler;
	}

	public void setParkingInsideTwoWheeler(Integer parkingInsideTwoWheeler) {
		this.parkingInsideTwoWheeler = parkingInsideTwoWheeler;
	}

	public Integer getParkingOutsideTwoWheeler() {
		return parkingOutsideTwoWheeler;
	}

	public void setParkingOutsideTwoWheeler(Integer parkingOutsideTwoWheeler) {
		this.parkingOutsideTwoWheeler = parkingOutsideTwoWheeler;
	}

	public Integer getParkingInsideFourWheeler() {
		return parkingInsideFourWheeler;
	}

	public void setParkingInsideFourWheeler(Integer parkingInsideFourWheeler) {
		this.parkingInsideFourWheeler = parkingInsideFourWheeler;
	}

	public Integer getParkingOutsideFourWheeler() {
		return parkingOutsideFourWheeler;
	}

	public void setParkingOutsideFourWheeler(Integer parkingOutsideFourWheeler) {
		this.parkingOutsideFourWheeler = parkingOutsideFourWheeler;
	}

	public String getDescription() {
		return description;
	}

	public void setDescription(String description) {
		this.description = description;
	}

	public Boolean getActive() {
		return active;
	}

	public void setActive(Boolean active) {
		this.active = active;
	}

	public String getPrimaryEmail() {
		return primaryEmail;
	}

	public void setPrimaryEmail(String primaryEmail) {
		this.primaryEmail = primaryEmail;
	}

	public CityEntity getCityEntity() {
		return cityEntity;
	}

	public void setCityEntity(CityEntity cityEntity) {
		this.cityEntity = cityEntity;
	}
}
